package com.myhkvideo.yulongbpcdemo.mapper;

import com.myhkvideo.yulongbpcdemo.entity.RunningRateDayInfoData;
import org.apache.ibatis.annotations.*;
import java.util.Date;

@Mapper
public interface RunningRateDayInfoMapper {

    /**
     * 检查数据是否存在
     * @param createTime 创建时间
     * @return 存在返回 1，不存在返回 0
     */
    @Select("SELECT COUNT(*) FROM DayProductData WHERE 时间 = #{createTime}")
    int checkDataExists(Date createTime);

    /**
     * 插入新数据
     * @param data 数据对象
     */
    @Insert("INSERT INTO DayProductData (ID, 时间, 一车间1#磨机运行时长, 一车间1#磨机总时长, 一车间1#磨机运转率, 一车间2#磨机运行时长, 一车间2#磨机总时长, 一车间2#磨机运转率, 一车间3#磨机运行时长, 一车间3#磨机总时长, 一车间3#磨机运转率, 一车间4#磨机运行时长, 一车间4#磨机总时长, 一车间4#磨机运转率, 二车间磨机运行时长, 二车间磨机总时长, 二车间磨机运转率, 冶炼厂运行时长, 冶炼厂总时长, 冶炼厂运转率) " +
            "VALUES (#{id}, #{createTime}, #{d_ycjone_sc}, #{d_ycjone_zsc}, #{d_ycjone_yzl}, #{d_ycjtwo_sc}, #{d_ycjtwo_zsc}, #{d_ycjtwo_yzl}, #{d_ycjthree_sc}, #{d_ycjthree_zsc}, #{d_ycjthree_yzl}, #{d_ycjfour_sc}, #{d_ycjfour_zsc}, #{d_ycjfour_yzl}, #{d_ecj_sc}, #{d_ecj_zsc}, #{d_ecj_yzl}, #{d_ylc_sc}, #{d_ylc_zsc}, #{d_ylc_yzl})")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    void insertData(RunningRateDayInfoData data);

    /**
     * 更新现有数据
     * @param data 数据对象
     */
    @Update("UPDATE DayProductData SET 一车间1#磨机运行时长 = #{d_ycjone_sc}, 一车间1#磨机总时长 = #{d_ycjone_zsc}, 一车间1#磨机运转率 = #{d_ycjone_yzl}, 一车间2#磨机运行时长 = #{d_ycjtwo_sc}, 一车间2#磨机总时长 = #{d_ycjtwo_zsc}, 一车间2#磨机运转率 = #{d_ycjtwo_yzl}, 一车间3#磨机运行时长 = #{d_ycjthree_sc}, 一车间3#磨机总时长 = #{d_ycjthree_zsc}, 一车间3#磨机运转率 = #{d_ycjthree_yzl}, 一车间4#磨机运行时长 = #{d_ycjfour_sc}, 一车间4#磨机总时长 = #{d_ycjfour_zsc}, 一车间4#磨机运转率 = #{d_ycjfour_yzl}, 二车间磨机运行时长 = #{d_ecj_sc}, 二车间磨机总时长 = #{d_ecj_zsc}, 二车间磨机运转率 = #{d_ecj_yzl}, 冶炼厂运行时长 = #{d_ylc_sc}, 冶炼厂总时长 = #{d_ylc_zsc}, 冶炼厂运转率 = #{d_ylc_yzl} WHERE 时间 = #{createTime}")
    void updateData(RunningRateDayInfoData data);
}